﻿using System.Collections.Generic;
using System.Linq.Expressions;
using Microsoft.EntityFrameworkCore.Query;

namespace AcmeDameng.EntityFrameworkCore
{
    public class FixedDmParameterBasedSqlProcessor : RelationalParameterBasedSqlProcessor
    {
        public FixedDmParameterBasedSqlProcessor(RelationalParameterBasedSqlProcessorDependencies dependencies, RelationalParameterBasedSqlProcessorParameters parameters) : base(dependencies, parameters)
        {
        }


        protected override Expression ProcessSqlNullability(
            Expression queryExpression,
            IReadOnlyDictionary<string, object?> parametersValues,
            out bool canCache)
            => new FixedDmSqlNullabilityProcessor(Dependencies, Parameters).Process(queryExpression, parametersValues, out canCache);
    }
}
